package com.liutaw.nanjingair.dagger.component;

import android.content.Context;

import com.liutaw.nanjingair.dagger.module.ApiServiceModule;
import com.liutaw.nanjingair.dagger.module.ApplicationModule;
import com.liutaw.nanjingair.views.activities.base.BaseActivity;
import com.szjlxh.domain.executor.PostExecutionThread;
import com.szjlxh.domain.executor.ThreadExecutor;
import com.szjlxh.domain.repository.IBaseWeatherRespository;

import javax.inject.Singleton;

import dagger.Component;
import okhttp3.OkHttpClient;

/**
 * Created by liutao on 16/3/16.
 */
@Singleton
@Component(modules = {ApplicationModule.class, ApiServiceModule.class})
public interface ApplicationComponent {
    void inject(BaseActivity baseActivity);

    Context context();

    OkHttpClient okhttpClient();

    IBaseWeatherRespository baseWeatherRespository();

    ThreadExecutor threadExecutor();

    PostExecutionThread postExecutionThread();
}
